package com.ys.gulimall.order.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Description:
 * @author： yeswater
 * @create： 2024/5/18
 */

//订单确认页需要用的数据
@Data
public class OrderConfirmVo {
	
	//收获地址，ums_member_receive_address表
	List<MemberAddressVo> address;
	
	//所有选中的购物项
	List<OrderItemVo> items;
	
	//发票。。。
	
	//优惠券信息。。。
	//积分
	Integer integration;
	
	//订单总额
	BigDecimal total;
	
	//应付价格
	BigDecimal payPrice;
	
	//防重令牌
	String orderToken;
	
	Map<Long,Boolean> stocks;
	
	//总件数
	public Integer getCount(){
		Integer i = 0;
		if (items != null && items.size() > 0){
			for (OrderItemVo item : items) {
				i += item.getCount();
			}
		}
		return i;
	}
	
	public BigDecimal getTotal() {
		BigDecimal total = new BigDecimal("0");
		if (items != null){
			for (OrderItemVo item : items) {
				BigDecimal multiply = item.getPrice().multiply(new BigDecimal(item.getCount().toString()));
				total = total.add(multiply);
			}
		}
		
		return total;
	}
	
	public BigDecimal getPayPrice() {
		return getTotal();
	}
	
}
